package judlawei.gui;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.EventObject;

import javax.swing.*;

public class VisualizarDocumento extends JPanel {

    private final int NENHUM = -1;
    private final int DOC_LEG = 0;
    private final int DOC_JUD = 1;
    private int selecionado;
    private JLabel TipoDocumento;
    private JRadioButton judiciario;
    private JRadioButton legislativo;
    private JButton visualizar;
    private Visualizador visualisador;

    public VisualizarDocumento() {

        selecionado = NENHUM;
        judiciario = new JRadioButton();
        legislativo = new JRadioButton();
        visualizar = new JButton();
        TipoDocumento = new JLabel();
        
        
        judiciario.setText("Juridico");
        TipoDocumento.setText("Tipo de Documento:");
        legislativo.setText("Legislativo");
        visualizar.setText("Visualizar");
        construirLayout();
        
        inicializarListeners();

    }

    
    private void construirLayout() {
        GroupLayout visualizarDocumentoLayout = new GroupLayout(this);
        this.setLayout(visualizarDocumentoLayout);
        visualizarDocumentoLayout.setHorizontalGroup(visualizarDocumentoLayout
                .createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(
                        visualizarDocumentoLayout.createSequentialGroup()
                                .addContainerGap().addComponent(TipoDocumento)
                                .addGap(46, 46, 46).addComponent(legislativo)
                                .addGap(18, 18, 18).addComponent(judiciario)
                                .addGap(18, 18, 18).addComponent(visualizar)
                                .addContainerGap(147, Short.MAX_VALUE)));
        visualizarDocumentoLayout
                .setVerticalGroup(visualizarDocumentoLayout
                        .createParallelGroup(GroupLayout.Alignment.LEADING)
                        .addGroup(
                                GroupLayout.Alignment.TRAILING,
                                visualizarDocumentoLayout
                                        .createSequentialGroup()
                                        .addContainerGap(
                                                GroupLayout.DEFAULT_SIZE,
                                                Short.MAX_VALUE)
                                        .addGroup(
                                                visualizarDocumentoLayout
                                                        .createParallelGroup(
                                                                GroupLayout.Alignment.BASELINE)
                                                        .addComponent(
                                                                judiciario)
                                                        .addComponent(
                                                                legislativo)
                                                        .addComponent(
                                                                TipoDocumento)
                                                        .addComponent(
                                                                visualizar))
                                        .addContainerGap()));

    }

    private void inicializarListeners() {

        legislativo.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                if (legislativo.isSelected()) {
                    if(judiciario.isSelected())judiciario.setSelected(false);
                    selecionado = DOC_LEG;
                } else if (!judiciario.isSelected()) {
                    selecionado = NENHUM;
                }
            }
        });

        judiciario.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                if (judiciario.isSelected()) {
                    if(legislativo.isSelected())legislativo.setSelected(false);
                    selecionado = DOC_JUD;                        
                } else if (!legislativo.isSelected()) {
                    selecionado = NENHUM;
                }
            }
        });

        visualizar.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                
                if(selecionado != NENHUM){
                    if(visualisador == null)
                        visualisador = new Visualizador();
                    
                    visualisador.setVisible(true);
                }
            }
        });
    }

}
